\documentstyle[11pt,nl,wp2latex]{report}

\newcommand{\pijl}{$\rightarrow$}
\renewcommand{\thechapter}{}
\renewcommand{\thesection}{\arabic{section}}
\renewcommand{\thefigure}{\arabic{figure}}

\title{Handleiding bij het programma\\
 \hspace{1cm}\\
       \WPtoLaTeX}
\author{R.C. Houtepen}

\begin{document}

\maketitle

\newpage

\pagenumbering{roman}
\tableofcontents

\newpage

\pagenumpos{\pnbc}
\pagenumbering{arabic}

\section{Inleiding}

Het programma \WPtoLaTeX\ biedt de mogelijkheid om dokumenten
afkomstig van WordPerfect 5.0 te konverteren naar \LaTeX-invoerfiles.
Het programma is geschreven in het kader van een stageopdracht uitgevoerd
bij het Rekencentrum van de Technische Universiteit Eindhoven.
De gebruikte programmeertaal is Turbo Pascal 5.0.\\
\\
Het projecteren van een bepaalde wereld (WordPerfect = tekstverwerking)
op een andere wereld (\LaTeX\ = typesetting) vraagt om enige
discipline van de gebruiker. \\
Omdat het gebruik van \LaTeX\ aan strikte regels gebonden
is, moeten we, willen we het WordPerfect 5.0 dokument zo goed mogelijk
konverteren, bij het gebruik van WordPerfect rekening houden met
deze regels.
In deze handleiding wordt op deze regels ingegaan.\\

\newpage

\section{De konversiemogelijkheden}
\label{mogelijk}

Omdat de mogelijkheden en eigenschappen van WordPerfect en
\LaTeX\ sterk uiteen lopen, kunnen niet alle WordPerfect `features'
gekonverteerd worden.\\
\\
De konversiemogelijkheden van \WPtoLaTeX\ zijn :\\
\begin{itemize}
  \item harde regelovergangen
  \item harde paginaovergangen
  \item de lettertypen :
    \begin{itemize}
      \item extra groot
      \item zeer groot
      \item groot
      \item klein
      \item zeer klein
      \item superscript
      \item subscript
      \item cursief
      \item kleine kapitalen
      \item vet
      \item onderstrepen
      \item dubbel onderstrepen
    \end{itemize}
  \item extended karakters (wel accenten, geen linedraw)
  \item overslag
  \item tabs :
    \begin{itemize}
      \item instelling
      \item linkertabs
      \item centertabs
      \item rechtertabs
    \end{itemize}
  \item rechts springen
  \item uitlijnen
  \item inspringen :
    \begin{itemize}
      \item links
      \item links en rechts
    \end{itemize}
  \item voetnoten
  \item  kop- en voetteksten
  \item paginanummerpositie
  \item uitvullen aan/uit
\end{itemize}
\nwln
{\bf Niet} gekonverteerd worden :
\begin{itemize}
  \item kantlijninstellingen
  \item krantestijlkolommen
  \item regelafstanden
  \item onder- en bovenmarge
  \item index
  \item referenties
  \item eindnoten
  \item inhoudsopgave
  \item grafische afbeeldingen
\end{itemize}

\newpage

\section{Werkregels}

\subsection{Tabs}

Het tab-stop kommando wordt gebruikt om stukken tekst exact te kunnen
positioneren, b.v. bij het maken van tabellen. We kunnen hier twee soorten
kommando's onderscheiden. Allereerst zijn er de tab-instellingen. Hiermee
wordt aangegeven {\em waar} de tabs moeten worden gepositioneerd.
Daarnaast zijn er de tab-stops, die aangeven dat er naar een bepaalde
positie {\em gesprongen} moet worden. Binnen \LaTeX\ kunnen tab-stops alleen binnen
een \verb|tabbing|-omgeving worden gebruikt. \WPtoLaTeX\ zorgt er voor
dat alleen regels waar \'e\'en of meerdere tab-stops in voorkomen in
zo'n \verb|tabbing|-omgeving worden gezet.\\
\\
Binnen WordPerfect dient een regel waarin tabs voorkomen afgesloten te worden
met een harde regelovergang. Is dit niet het geval, dan zullen de
tab-posities in het gegenereerde \LaTeX-dokument niet vastliggen. \LaTeX\
zal zulke regels foutief uitvullen.\\

De volgende WordPerfect-invoer zal foutief gekonverteerd worden :\\

\begin{verbatim}
   Tekst1 [Tab] tekst2 [Tab] tekst3 [ZRt]
   tekst4 [Tab] tekst5. [HRt]
\end{verbatim}
\nwln

Beter is :\\

\begin{verbatim}
   Tekst1 [Tab] tekst2 [Tab] tekst3 [HRt]
   tekst4 [Tab] tekst5. [HRt]
\end{verbatim}
\nwln

Een tab-instelling binnen een regel geldt voor de hele regel.
Geadviseerd wordt om tab-instellingen v\'o\'or een regel of vooraan
in de desbetreffende regel te plaatsen.\\
\\
\\
{\bf Enkele restricties :}\\
\\
Bij \LaTeX\ worden in een \verb|tabbing|-omgeving kommando's als \verb|\'|,
\verb|\`| en \verb|\=| gebruikt. Deze kommando's dienen
buiten een \verb|tabbing|-omgeving voor het plaatsen van accenten. Binnen een
\verb|tabbing|-omgeving moeten deze kommando's voor het plaatsen van
accenten vervangen worden door resp. \verb|\a'|, \verb|\a`| en \verb|\a=|.
\WPtoLaTeX\ houdt hier g\'{e}\'{e}n rekening mee.
Dit betekent dat de gebruiker, n\'{a} de konversie, zelf deze kommando's
dient te vervangen.\\
\\
Binnen WordPerfect 5.0 kunnen maximaal 40 tabs ingesteld worden.
\LaTeX\ kent maximaal 14 tabinstellingen. Dit heeft tot gevolg
dat, wil men gaan konverteren, er binnen WordPerfect maximaal
14 tabs ingesteld mogen worden.\\
Worden er meer dan 14 tabs ingesteld, dan zal de verwerking door
\LaTeX\ resulteren in een aantal foutmeldingen met als uiteindelijke
resultaat dat een aantal tabs worden genegeerd.\\

\newpage

\subsection{Inspringen}
\label{inspring}

Het inspring kommando wordt gebruikt om de kantlijnen van
stukken tekst (alinea's) te veranderen.\\
De konversiemogelijkheden die met betrekking tot inspringen
worden geboden zijn :\\

Voorbeelden :\\
\\
\begin{tabbing}
\verb|   [|\pijl\verb|Inspr]|$^*$\verb|  |\=
        \verb|Een ingesprongen alinea die over [ZRt]| \\
     \> \verb|meerdere regels verspreid mag worden en [ZRt]| \\
     \> \verb|afgesloten wordt met een harde [ZRt]| \\
     \> \verb|regelovergang. [HRt]| \\
\end{tabbing}
\begin{tabbing}
\verb|   label  [|\pijl\verb|Inspr]|$^*$\verb|  |
  \= \verb|Zoals we hier zien bestaat de [ZRt]| \\
  \> \verb|mogelijkheid om een `label' voor [ZRt]| \\
  \> \verb|een ingesprongen tekst te plaatsen. [HRt]| \\
\end{tabbing}
\begin{tabbing}
\verb|   [|\pijl\verb|Inspr]|$^*$\verb|  label  [|\pijl\verb|Inspr]|$^*$\verb|  |
  \= \verb|Het is ook mogelijk om een [ZRt]| \\
  \> \verb|`ingesprongen label' voor [ZRt]| \\
  \> \verb|een ingesprongen tekst te plaatsen. [HRt]| \\
\end{tabbing}

\nwln
Waarbij \verb|[|\pijl\verb|Inspr]|$^*$ overeenkomt met \'e\'en of meerdere
\verb|[|\pijl\verb|Inspr]| kommando's. \\

\vspace{1cm}

{\bf Opmerking :}\\

Het is bij gebruik van \WPtoLaTeX\ {\bf niet} mogelijk bij inspringen
m\'e\'er dan twee indentatieniveau's te konverteren.\\

\newpage

\subsection{Kombinaties van tabs en inspringen}

In de praktijk blijkt dat de tab-stop en inspring kommando's vaak
door elkaar heen gebruikt worden. Het effect hiervan binnen
WordPerfect is vaak identiek : woorden komen op de plek waar
men ze hebben wil, zowel op het beeldscherm als uiteindelijk
op papier (What You See Is What You Get).\\
Binnen \LaTeX\ is het verschil tussen tab-stops en inspring kommando's
echter essentieel. Het is dan ook van belang dat de WordPerfect-gebruiker
hier rekening mee houdt. Voor tab-stops mag dus alleen het
\verb|[Tab]| kommando gebruikt worden en voor inspringen alleen het
\verb|[|\pijl\verb|Inspr]| kommando.
\\
Worden echter tab-stop en inspring kommando's binnen \'e\'en regel
door elkaar gebruikt, dan worden alleen de kommando's van het
type dat het eerst op de betreffende regel voorkomt gekonverteerd. \\
\\
Een voorbeeld:\\
\\
\begin{tabbing}
\verb|   [Tab] piet [Tab] jan [|\pijl\verb|Inspr] klaas [HRt]| \\
\end{tabbing}

Hier komt het tab-stop kommando eerder dan het inspring kommando op de
regel voor. De interpretatie hiervan door \WPtoLaTeX\ is dan : \\
\\
\begin{tabbing}
\verb|   [Tab] piet [Tab] jan klaas [HRt]| \\
\end{tabbing}

Het inspring kommando wordt genegeerd. De regel zou er als volgt uit
moeten zien :\\
\\
\begin{tabbing}
\verb|   [Tab] piet [Tab] jan [Tab] klaas [HRt]| \\
\end{tabbing}

\newpage

\subsection{Voetnoten}

Binnen een voetnoot worden alleen regelovergangen en lettertypen
(zie \S~\ref{mogelijk}) gekonverteerd. Een voetnootnummer mag
alleen uit cijfers bestaan.\\
\\
Voetnoten binnen regels waarin tab-stops voorkomen verschijnen
bij \LaTeX, in tegenstelling tot WordPerfect, niet onderaan de pagina.
Dit een beperking van \LaTeX.\\
\\

\newpage

\subsection{Kop- en voetteksten}

Binnen een kop- of voettekst worden alleen lettertypen
gekonverteerd (zie \S~\ref{mogelijk}). \\
\\
Een kop- of voettekst kan men indelen in drie stukken :
\begin{itemize}
  \item linksuitgelijnd
  \item gecentreerd
  \item rechtsuitgelijnd
\end{itemize}
\nwln
Deze drie delen dienen binnen WordPerfect gescheiden te worden door het
centreer kommando (Shift F6) en spring-rechts kommando (Alt F6).\\
Het effect van de WordPerfect kommando's voor de koptekst : \\

\begin{verbatim}
   Links[Centr]Midden[C/U/SR/D][Spr rechts]Rechts
\end{verbatim}
\nwln
zal na konversie door \LaTeX\ ge\"{\i}nterpreteerd worden als in
figuur~\ref{fig:koptekst} wordt weergegeven.
Bij het kiezen van de pagina's waar de kop- of voettekst geplaatst moet
worden, wordt bij het kiezen van alleen een even of oneven
pagina de eerdere kop- of voettekst-instelling van de andere
pagina niet be\"{\i}nvloed.\\

\begin{figure}[hbt]
\centering
\setlength{\unitlength}{3mm}
\begin{picture}(12,16)
 \thicklines
 \put(0,0){\framebox(12,16)}
 \put(1,14){\makebox(10,1)[l]{{\tiny Links}}}
 \put(1,14){\makebox(10,1){{\tiny Midden}}}
 \put(1,14){\makebox(10,1)[r]{{\tiny Rechts}}}
 \put(1,12){\line(1,0){10}}
 \put(1,11){\line(1,0){10}}
 \put(1,10){\line(1,0){10}}
 \put(1,9){\line(1,0){10}}
 \put(1,8){\line(1,0){10}}
 \put(1,7){\line(1,0){10}}
 \put(1,6){\line(1,0){10}}
 \put(1,5){\line(1,0){10}}
 \put(1,4){\line(1,0){10}}
 \put(1,3){\line(1,0){10}}
 \put(1,2){\line(1,0){10}}
\end{picture}
\caption{kopteksten}
\label{fig:koptekst}
\end{figure}

\newpage

\subsection{Paginanummerpositie}

Het WordPerfect-dokument wordt gekonverteerd naar een enkelzijdig
dokument. Dit houdt in dat de paginanummerposities 4 en 8 niet
gekonverteerd worden. De paginanummer-posities die door \WPtoLaTeX\
gekonverteerd worden, worden in figuur~\ref{fig:pagnr} weergegeven.\\

\begin{figure}[hbt]
\centering
\setlength{\unitlength}{3mm}
\begin{picture}(12,16)
 \thicklines
 \put(0,0){\framebox(12,16)}
 \put(1,14){\makebox(10,1)[l]{1}}
 \put(1,14){\makebox(10,1){2}}
 \put(1,14){\makebox(10,1)[r]{3}}
 \put(1,1){\makebox(10,1)[l]{5}}
 \put(1,1){\makebox(10,1){6}}
 \put(1,1){\makebox(10,1)[r]{7}}
\end{picture}
\caption{paginanummer posities}
\label{fig:pagnr}
\end{figure}

\newpage

\subsection{WordPerfect defaultwaarden}

Het konversieprogramma genereert, onafhankelijk van de
WordPerfect-instellingen, een \LaTeX-bestand met een linkerkantlijn
van 2,54cm (1 inch). Deze wordt binnen het hele dokument gehandhaafd.
Dit omdat \LaTeX\ zowel een minimale linkermarge als
een minimale bovenmarge van 2,54cm hanteert (zie figuur~\ref{fig:tabs}).
Dit betekent dat \WPtoLaTeX\ er van uit gaat dat binnen het
WordPerfect-dokument de linkerkantlijn ook op 2,54cm ingesteld is
en dat deze niet verandert. \\
Tevens wordt er van een standaard tab-instelling uitgegaan van
beginnend met 2,54cm en vervolgens iedere 2,54cm (14 tab-stops).
Een afwijkende standaard tab-instelling kan vanaf de eerste
regel geplaatst worden.\\
\\
Wordt er niet aan de bovenstaande standaard instellingen
voldaan, dan kan dit leiden tot foutmeldingen bij de
verwerking door \LaTeX. Dit heeft onder meer te maken met de manier
waarop WordPerfect de tab-stops positioneert en die waarop \LaTeX\
dat doet (zie figuur~\ref{fig:tabs}). \LaTeX\ positioneert de tab-stops
t.o.v. de linkermarge, die zoals gezegd minimaal 2,54cm breed is. Bij
WordPerfect zijn de linkermarge en de tab-posities onafhankelijk
van elkaar.\\

\begin{figure}[hbt]
\centering
\setlength{\unitlength}{1.5mm}
\begin{picture}(60,50)
 \thicklines
 \put(0,0){\framebox(28,35)}
 \put(32,0){\framebox(28,35)}
 \thinlines
 \put(0,37){\makebox(1,3)[l]{WordPerfect}}
 \put(32,37){\makebox(1,3)[l]{\LaTeX}}
 \put(36,31){\line(1,0){21}}
 \put(36,31){\line(0,-1){28}}
 \put(32,31){\vector(1,0){4}}
 \put(36,31){\vector(-1,0){4}}
 \put(36,31){\vector(0,1){4}}
 \put(36,35){\vector(0,-1){4}}
 \put(37,31){\makebox(1,4)[l]{{\small 1"}}}
 \put(32,28){\makebox(4,2){{\small 1"}}}
 \put(36,27){\vector(1,0){3}}
 \put(40,27){\makebox(1,1)[tl]{{\scriptsize tab 1}}}
 \put(36,25){\vector(1,0){6}}
 \put(43,25){\makebox(1,1)[tl]{{\scriptsize tab 2}}}
 \put(36,23){\vector(1,0){9}}
 \put(46,23){\makebox(1,1)[tl]{{\scriptsize tab 3}}}
 \put(4,31){\line(0,-1){28}}
 \put(4,31){\line(1,0){21}}
 \put(0,27){\vector(1,0){7}}
 \put(8,27){\makebox(1,1)[tl]{{\scriptsize tab 1}}}
 \put(0,25){\vector(1,0){10}}
 \put(11,25){\makebox(1,1)[tl]{{\scriptsize tab 2}}}
 \put(0,23){\vector(1,0){13}}
 \put(14,23){\makebox(1,1)[tl]{{\scriptsize tab 3}}}
\end{picture}
\caption{tab-stop instellingen bij WordPerfect en \LaTeX}
\label{fig:tabs}
\end{figure}

\newpage

\subsection{Spaties}

Omdat het gebruik van WordPerfect het visueel ontwerpen van een
dokument in de hand werkt, hebben gebruikers vaak de neiging
om met behulp van spaties voor een acceptabele layout te zorgen.
Meerdere spaties achter elkaar hebben binnen \LaTeX\ echter hetzelfde
effect als \'e\'en spatie.\\
Bij het konverteren van een WordPerfect-bestand worden meerdere spaties
na elkaar gekonverteerd naar `harde' \LaTeX-spaties. \\

Voorbeeld : \\

\begin{tabular}{|l|l|}
\hline
WordPerfect                & \LaTeX \rule[-.5cm]{0cm}{1.5cm} \\
\hline
\verb*|woord1    woord2|   & \verb*|woord1 ~~~woord2|\rule[-.5cm]{0cm}{1.5cm} \\
\hline
\end{tabular}
\nwln

Wanneer deze aan het begin van een regel voorkomen hebben ze echter
g\'e\'en effect.
Bovendien zal de layout die in het WordPerfect-bestand gebruikt wordt
zelden in \LaTeX\ bereikt worden vanwege de afwijkende zetspiegel, 
lettertypes en uitvulregels die \LaTeX\ hanteert.

\newpage

\section{Het programma}

Het \WPtoLaTeX-pakket bevat de files :\\

\begin{itemize}
  \item \verb|WP2LATEX.EXE| (het konversieprogramma)
  \item \verb|WP2LATEX.STY| (stijl-file nodig bij verwerking door \LaTeX)
  \item \verb|WP2LATEX.TEX| (deze handleiding in \LaTeX-opmaak)
  \item \verb|LEESME.BAT  | (batch-file met gebruikers-instrukties)
\end{itemize}
\nwln
Het programma wordt aangeroepen middels het kommando :\\

\begin{verbatim}
   WP2LATEX [WP-filenaam.WPF]
\end{verbatim}

\nwln
De parameter \verb|WP-filenaam.WPF|\footnote{Dit mag een WordPefect 5.0 
bestand zijn met een andere existentie dan \verb|.WPF|} is optioneel. 
Het programma start met een
openingsboodschap en vraagt om de WordPerfect filenaam. De default
WordPerfect-filenaam wordt tussen vierkante haken \mbox{(\verb|[ ]|)} 
vermeld. Dit is de filenaam die eventueel als optionele parameter werd 
meegegeven bij de aanroep van \verb|WP2LATEX|. De gebruiker kan nu 
alsnog een andere WordPerfect-filenaam intypen of hij kan middels return 
voor de default filenaam kiezen. Vervolgens vraagt het programma om de 
filenaam van het te genereren \LaTeX-dokument. Als default filenaam wordt
de WordPerfect-filenaam met existentie \verb|.TEX| genomen. Deze filenaam 
wordt weer tussen rechte haken weergegeven. Ook hier kan de gebruiker 
voor een afwijkende \LaTeX-filenaam\footnote{Dit mag een file zijn
met een andere existentie dan \verb|.TEX|} kiezen. Wanneer de filenamen zijn 
ingegeven kunnen de volgende foutmeldingen verschijnen :\\

\begin{itemize}
  \item \Underline{File not found :} De opgegeven WordPerfect file is niet gevonden.
  \item \Underline{Path not found :} Bij het opgeven van de filenamen is een
        ongeldig pad opgegeven.
  \item \Underline{Not a WordPerfect 5.0 dokument :} De opgegeven WordPerfect file is
        niet afkomstig van WordPerfect 5.0
\end{itemize}
\nwln
De konversie gebeurt in twee fasen. In de eerste fase wordt de 
WordPerfect-invoerfile byte voor byte ingelezen. Op grond hiervan worden de
files \verb|WP-filenaam.STR| en \verb|WP_filenaam.TBL| aangemaakt.
In \verb|WP-filenaam.STR| worden de karakters, tab-stops en overgangen
van lettertypes weergegeven. De file \verb|WP-filenaam.TBL| bevat gegevens
over de verschillende \LaTeX\ omgevingen die geopend en gesloten
moeten worden.
In de tweede fase worden deze files verwerkt tot \'e\'en \LaTeX-file.
Na een succesvolle konversie worden de files \verb|WP-filenaam.STR| en
\verb|WP-filenaam.TBL| automatisch gewist.\\

\newpage

Bij een aanroep van \WPtoLaTeX\ om het WordPerfect 5.0 dokument
\verb|C:\WPTEST\TEST.WP5| te konverteren zal het volgende op het
beeldscherm verschijnen :\\

\begin{verbatim}

     Conversionprogram : From Wordperfect 5.0 to LaTeX  (WP2LATEX)

  (c) TUE-Eindhoven ---- Made by R.C.Houtepen ---- Date : 24 Jan 1990


WordPerfect-filename [ ] :  c:\wptest\test.wp5
LaTeX-filename [c:\wptest\test.TEX] :

Converting ...

First strike :
Converting-percentage : 100%

Second strike :
Converting-percentage : 100%

Conversion completed.

\end{verbatim}

De heading van de gegenereerde \LaTeX-file, in dit geval de file
\verb|C:\WPTEST\TEST.TEX|, ziet er dan als volgt uit : \\

\begin{verbatim}
   \documentstyle[11pt,wp2latex]{report}
\end{verbatim}
\nwln

Bij het aanroepen van \LaTeX\ dient de stijl-file \verb|WP2LATEX.STY| in de
huidige directory of in de directory van stijl-files
(\verb|\PCTEX\TEXINPUT|) te staan.\\

In deze stijl-file worden onder andere een aantal kommando's en omgevingen
gedefinieerd, die regelmatig in de gegenereerde \LaTeX-files zullen worden
gebruikt. Voorbeelden hiervan zijn het kommando \verb|\nwln| en de
omgeving \verb|indenting|. \verb|\nwln| genereert een harde regelovergang
na het afsluiten van een \LaTeX-omgeving. De omgeving \verb|indenting| is
gemaakt t.b.v. de konversie van het inspring kommando
(zie \S~\ref{inspring}). \\

\newpage

\section{Tot slot}

Een 100\% goede konversie van een WordPerfect-dokument wordt niet
gegarandeerd. Tijdens de verwerking door \LaTeX\ van het gegeneerde 
dokument kunnen altijd nog foutmeldingen optreden.
Enige aanpassing van de gegenereerde \LaTeX-file zal in veel gevallen
nodig zijn.\\
\\
De hoogste prioriteit werd gegeven aan :
\begin{itemize}
  \item het niet verloren gaan van tekst
  \item het niet vastlopen van het programma.
\end{itemize}
\nwln

Heeft u opmerkingen of commentaar m.b.t. het programma, dan kunt u zich
wenden tot : \\

\vspace{2cm}

\begin{minipage}[t]{6cm}
R.C. Houtepen \\
Brusselstraat 150 \\
4826 NK Breda \\
Tel: 076-714777
\end{minipage}
\hfill of \hfill
\begin{minipage}[t]{6cm}
\raggedleft
R.L.M. Helwig \\
T.U.E. \\
Postbus 513\\
5600 MB Eindhoven\\
Tel: 040 - 472724\\
\nwln
uucp : rcronh@urc.tue.nl\\
bitnet : rcronh@heitue5
\end{minipage}

\newpage
\nwln
\begin{center}
(Deze pagina is opzettelijk voor aantekeningen wit gelaten.)
\end{center}
\nwln
\end{document}
